1. Field of the Invention
This invention relates generally to computer systems and software. More particularly, the invention relates to computer-based calculation and spreadsheet systems and software.
2. Description of the Related Art
Generally, there are two types of computer programs for performing numerical calculations: spreadsheet programs and calculator programs. The advantages and disadvantages of both are discussed as follows.
Calculators
A calculator program includes a computer program that is used for performing numerical calculations. As used herein, the term “calculator program” includes a type of computer program that emulates the functionality of a hand-held calculator. Calculator programs often allow data to be entered via a computer keyboard in a very intuitive way, just as on a hand-held calculator. For example, entry of the key sequence “1+2+3=” would usually cause the calculator program to display the result “6”. Calculator programs usually display a graphical image that looks like a hand held calculator which can be operated with a mouse to enter calculations instead of using a keyboard.
Many calculator programs display calculations on a display screen in a vertical format, similar to a tape produced by an adding machine. In these calculator programs, for example, entering the key sequence “1+2+3” would cause    1    +2    +3to be displayed on the screen. For many people, this vertical sequence is a very intuitive way to display calculations because it is how they write arithmetic calculations on paper, and is how they have done so since early school days. In most calculator programs, the area of the screen that contains this vertical record of the keystrokes is called the “tape,” and that term will be used when discussing calculator programs herein. (The term “tape” is derived from the paper tape of an adding machine). The term “vertical calculation” will be used to describe this format of displaying calculations vertically. Most calculator programs allow the tape to be printed out and also to be saved in a file.
Some calculator programs have tapes that can be modified. For example, the operators and the numbers may be changed, and the result may be recalculated using the modified values. FIG. 1 and FIG. 2 show examples of calculator programs with modifiable tapes. Some of these calculator programs with modifiable tapes also allow descriptive text comments to be placed next to the numbers on the tape. For example, the previous tape could be modified to look like:    1 apple    +2 oranges    +3 bananas
Despite the intuitive way that they allow calculations to be entered and displayed, calculator programs with modifiable tapes have been relatively unsuccessful commercially. The disadvantages of modifiable tapes of existing calculator programs are discussed as follows.
First, the tapes of the existing calculator programs can contain only very simple calculations that can be expressed in the adding machine tape format. It is impossible to enter repetitive data in a tabular, spreadsheet style format; it is impossible to display calculations horizontally; it is impossible to place function invocations in the tape, and it is impossible to enter calculations with parentheses.
Second, the tapes of the existing calculator programs only allow data to be entered in a single column. It is believed that not one commercially available calculator program has broken from the paradigm of the continuous single column paper tape of an adding machine. This format makes it very difficult to organize calculations in a logical way that is easy to view and modify on a computer screen, and this format makes it impossible to have tables of data.
Third, the tapes of the existing calculator programs are difficult to modify. The editing features of these programs are often cumbersome to use.
Fourth, the tapes of the existing calculator programs are not aesthetically pleasing. For example, calculations must all be placed in a single column. The calculator programs lack the ability to specify fonts, alignment, indentation, and other formatting characteristics of the data on the tapes. The calculator programs have very limited ability to allow descriptive text to be placed in the tape. This limited ability makes it impossible to use these programs to produce a professional looking business document; at best, they are limited to use as a “scratch pad” for numerical calculations.
Spreadsheets
Spreadsheets are computer programs that allow numbers, text data, and formulas to be stored in cells. The cells are displayed in rectangular areas on the screen and are arranged in a tabular format, i.e., in rows and columns. A single cell can contain a formula or function which may operate on multiple pieces of data stored in other cells. A cell's number, text data, or the result of the cell's formula or function is usually displayed in the cell that contains it.
FIG. 3 shows a typical modem spreadsheet program. The example of FIG. 3 shows data arranged as a table. The example table has cells with text, cells with numbers, and cells with formulas. Cells A1 and C3 are examples of cells that contain text data; the text in cell A1 spans several columns. Cells C4 through F4 contain numbers. Cell G4 contains a formula which adds the numbers in cells C4 through F4. FIG. 3 shows an example of what cell G4 may look like when it is being edited. When cell G4 is not being edited, it will display the result of the formula (“50.00”).
Spreadsheet programs have been quite commercially successful: many millions of them have been sold since they were invented in the late 1970s. In fact, the vast majority of personal computers sold today come with a spreadsheet program pre-installed on them. Two examples of popular modem spreadsheets are “Lotus 1-2-3” (available from Lotus Development Corporation) and “Microsoft Excel” (available from Microsoft Corporation).
Despite the presence of a spreadsheet program on virtually every personal computer, there are relatively few people who actually use spreadsheets. Many people have seen spreadsheets and know what they are, but if they are asked to use a spreadsheet to perform some numerical calculations, they may be forced to admit that they don't know how. Spreadsheets are used almost exclusively as a business tool, and very few home computer users use spreadsheets at all. Home users very rarely perform the kind of numerical calculations on repetitive tabular data for which spreadsheets are best suited.
Even within most businesses, relatively few people use spreadsheets. “Using a spreadsheet” is defined here as creating a spreadsheet (e.g., entering formulas, functions and numbers) in order to record and/or calculate numerical values. After a spreadsheet has been created by an experienced user, it is often “used” by other employees who merely enter data into it. For purposes of this discussion, such simple data entry will not be considered to be using a spreadsheet since it is no different than entering data into any other program and does not require any knowledge of how to perform calculations with a spreadsheet. Generally, only professional employees such as managers, financial analysts, engineers, etc., who regularly need to work with repetitive numerical data know how to use a spreadsheet for anything other than data entry.
There are two primary reasons why relatively few people use spreadsheets. First, many types of calculations are awkward to represent as tables of data and/or as formulas in cells. Spreadsheets are not good tools for data that is not repetitive and tabular in nature. Home users in particular rarely need to work with such data. Second, spreadsheets are not easy to use. They are not for novice or unsophisticated computer users. They are powerful business tools; companies often need to provide formal training for employees to learn to use spreadsheets. Many spreadsheet users find the editing features in particular to be frustrating and unintuitive.
Both calculator programs and spreadsheets have advantages and disadvantages. Calculators are intuitive and easy to use yet have very limited functionality, and spreadsheets have a great deal of functionality but are very difficult to use. Therefore, it is desirable to provide an improved system and method for numerical calculation which combines the ease of use of a calculator program with the functionality of a spreadsheet program.